//@flow

/**
 * 项目常量(不包含配置项)
 */
import React, { Component } from 'react';
import { 
    Dimensions,
    Platform,
    PlatformOSType,
 } from 'react-native';
import { isIPhoneXSeries } from '../common';

 
/**屏幕尺寸 */
export const SCREEN_SIZE = Dimensions.get('window');

/**iphoneX刘海高度 */
export const IPHONE_X_STATUS_HEIGHT = 44;

/**一般iphone状态栏高度 */
export const IPHONE_NORMAL_STATUS_HEIHGT = 20;

/**iphoneX底部工具栏高度 */
export const IPHONE_X_FOOTER_HEIGHT = 34;

/**安卓刘海高度 */
export const ANDROID_X_STATUS_HEIGHT = 32;

/**一般安卓高度 */
export const ADNROID_NORMAL_STATUS_HEIHGT = 20;

/**定义一个安卓通用高度，顶部导航栏 */
export const ANDROID_NORMAL_STATUS_COMMON_HEIGHT = 28;

/**iphone & android 导航栏高度 */
export const NAV_BAR_HEIGHT = 44;



/**获取安全区高度
 * 传入需要获取安全区的位置：头部|底部
 */
export const getSafeAreaHeightByPosition = (position:'top'|'bottom'):number=>{
    //操作系统
    let os : PlatformOSType = Platform.OS;
    switch(position){
        case 'top':
        {
            //判断是iphone 还是 安卓
            if(os === 'ios'){
                //是iphone，判断是否是X刘海屏系列
                if(isIPhoneXSeries()){
                    return IPHONE_X_STATUS_HEIGHT
                }else{
                    return IPHONE_NORMAL_STATUS_HEIHGT
                }
            }else if(os === 'android'){
                //安卓市场乱七八糟，管他那个去了，直接设置成20，如果后续有高级解决方案，再做处理
                return ANDROID_NORMAL_STATUS_COMMON_HEIGHT
            }else {
                return 0
            }
        }
        break;
        case 'bottom':
        {
            if(os === 'ios'){
                if(isIPhoneXSeries()){
                    return IPHONE_X_FOOTER_HEIGHT
                }else{
                    return 0
                }
            }else if(os === 'android'){
                //安卓异形屏难以判断默认设置0
                return 0;
            }else{
                return 0
            }
        }
        break;
        default:
            return 0;
    }
}

